package net.vmiranda.traindroid.activities.rutas;

import java.util.List;

import net.vmiranda.traindroid.R;
import net.vmiranda.traindroid.activities.GenericActivity;
import net.vmiranda.traindroid.beans.rutas.Estacion;
import net.vmiranda.traindroid.beans.rutas.HorarioRuta;
import net.vmiranda.traindroid.beans.rutas.Nucleo;
import net.vmiranda.traindroid.business.service.EstacionService;
import net.vmiranda.traindroid.business.service.EstacionService;
import net.vmiranda.traindroid.scrappers.RenfeScrapper;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class RutasActivity extends GenericActivity {
	
	int requestCode;
	int codigoNucleo = 10; //capturarlo del nucleo activado en el sistema
	EstacionService estacionService;

	TextView tvOrigen = null;
	TextView tvDestino = null;
	EditText editTextOrigen = null;
	EditText editTextDestino = null;
	static final int SEL_ORIGEN = 0;
	static final int SEL_DESTINO = 1;
	int codigoOrigen;
	int codigoFin;
	
	public RutasActivity(){
		super();
		estacionService = EstacionService.getInstance();
		estacionService.setNucleoActual(estacionService.getNucleoByCode(10));//nucleo por defecto de madrid, sacar de preferencias
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.rutas);
		setListeners();
		tvOrigen = (TextView) findViewById(R.id.textViewSeleccionEstacionOrigen);
		tvDestino = (TextView) findViewById(R.id.textViewSeleccionEstacionDestino);
		editTextOrigen = (EditText) findViewById(R.id.editTextOrigen);
		editTextDestino = (EditText) findViewById(R.id.editTextDestino);
	}

	public void setListeners() {
		Button b = (Button) findViewById(R.id.buttonSeleccionOrigen);
		b.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				Log.e("Clicking", "buttonSeleccionOrigen clicked");
				Intent i = new Intent(RutasActivity.this,
						SeleccionEstacionActivity.class);
				startActivityForResult(i, SEL_ORIGEN);

			}
		});
		Button bDestino = (Button) findViewById(R.id.buttonSeleccionDestino);
		bDestino.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				Log.e("Clickingg", "buttonSeleccionDestino clicked");
				Intent i = new Intent(RutasActivity.this,
						SeleccionEstacionActivity.class);
				startActivityForResult(i, SEL_DESTINO);

			}
		});
		
		Button bCalcularRuta = (Button) findViewById(R.id.buttonCalcularRuta);
		bCalcularRuta.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				Log.e("Clickingg", "buttonCalcularRuta clicked");
				RenfeScrapper rS = new RenfeScrapper();
				List<HorarioRuta> horarios = rS.doHorariosPetition("20110910", "10",String.valueOf(codigoOrigen) , String.valueOf(codigoFin), "00", "23");
				EditText editText = (EditText)findViewById(R.id.editTextResultadoRutas);
				for(HorarioRuta horario : horarios){
					editText.append(horario.getSalidaOrigen()+" "+horario.getLlegadaDestino()+"\n");
	
				}

			}
		});
	}

	protected void onActivityResult(int requestCode, int resultCode, Intent data) {

		try{			
			if (requestCode == SEL_ORIGEN) {
				Estacion estPulsada =  estacionService.getEstacionByCode(resultCode);
				editTextOrigen.setText(estPulsada.getNombre());
				codigoOrigen = resultCode;
			}else	if (requestCode == SEL_DESTINO) {
				Estacion estPulsada =  estacionService.getEstacionByCode(resultCode);
				editTextDestino.setText(estPulsada.getNombre());
				codigoFin = resultCode;
			}
		}catch(Exception e){
			
		}

	}
	

}
